logstash 安装

前言

Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据、转换数据,然后将数据发送到您最喜欢的 “存储库” 中。通常和Elasticsearch, Kibana等一起搭配使用,ELK日志分析平台。

依赖环境

由于logstash和elasticsearch一样都是使用java语言开发,需要依赖JDK环境。

java -version

java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

安装步骤

1. 下载安装包

wget https://artifacts.elastic.co/downloads/logstash/logstash-5.6.8.tar.gz

2. 解压安装包

tar -xvf logstash-5.6.8.tar.gz

3. 指定配置运行

cd logstash-5.6.8/bin

./logstash -f xxx.conf

4. 命令行指定配置运行

例如:./logstash -e "input { stdin { } } output { stdout {} }"
通常用于测试使用,正式环境都是使用xxx.conf配置文件的方式启动的。

5. 守护进程运行

nohup ./logstash -f xxx.conf &

JVM 配置

vim logstash-5.6.8/config/jvm.options

# 由于虚拟机内存限制,将jvm堆内存调小,默认1g
-Xms512m
-Xmx512m

hello world

从hello world开始,定义一个简单的处理管道,初步认识logstash的工作机制。

1. 以"input { stdin { } } output { stdout {} }"规则,启动logstash

./logstash -e "input { stdin { } } output { stdout {} }"

2. 采用stdin,stdout 标准输入输出插件

hello world
2018-04-22T06:10:59.266Z localhost.localdomain hello world

消息经过处理管道,logstash将时间戳和IP地址信息添加到消息中,在控制台输出中,可以看到时间戳,IP信息。

  1. stdin input 插件从标准输入流控制台读取事件。这是最简单的input插件,一般用于测试场景。

  2. stdout output 插件将事件输出到标准输出流控制台,这是最简单的output插件,一般用于测试场景。

参考链接

  1. https://www.elastic.co/guide/en/logstash/5.6/getting-started-with-logstash.html
  2. https://doc.yonyoucloud.com/doc/logstash-best-practice-cn/get_start/index.html